﻿/**
 *	\file		recurrence.hxx
 *	\date		(2015-01-04 18:48:26)/(2015-01-04 18:48:26)
 *-----------------------------------------------------------------------------
 *	\brief
 *	\version	1.0.0.1
 *	\author		Nick Shallery	(nicknide@gmail.com)
 *	\copyright	YOU HAVE ALL LEFT WITH THIS CODE WHILE YOU KEEP COMMENT IN EVERY COPY.
 *-----------------------------------------------------------------------------
**/

#include	"./recurrence.h"

#include	"./reg_path.hxx"

namespace lxsamsara{namespace _inst{
	class recurrence_inst;
	struct RegForSaveOutPtrAddress;
}}


class lxsamsara::_inst::recurrence_inst
	: public lolix::itf_Tbase<recurrence_inst, recurrence>
{
	LOLIX_DEFINE_ITF(lxsamsara::_inst::recurrence_inst, lxsamsara::recurrence, (0x830a42f5, 0xdaea4e4e, 0xada7b245, 0xaf645c49));
	lolix::dynamic_allocator* _alc;
	lolix::ref_factory* _ref_fac;

	~recurrence_inst(void);
public:
	static LOLIX_RETNV create_inst(base_type** out_ptr, lolix::dynamic_allocator* alc, lolix::ref_factory* ref_fac);
	// this code implemented by masm at windows + vs platform.
	LOLIX_INTERFACE_DEF(nap, LOLIX_RETNV, (dream** out_ptr)const);

	lolix::dynamic_allocator* __get_alc(void)const;
	lolix::ref_factory*		__get_ref_fac(void)const;
};
